module: Revert "preserve symlinks when requiring"#6721
Closed
saper wants to merge 2 commits intonodejs:masterfrom
Closed
module: Revert "preserve symlinks when requiring"#6721saper wants to merge 2 commits intonodejs:masterfrom
saper wants to merge 2 commits intonodejs:masterfrom
Conversation
After much discussion, it seems that the change broke the way require detects unique identity of the binary modules. While resolving module's full path is not sufficient and maybe even not elegant (like anything that requires the use of realpath() except for certain security scenarios), we cannot break multiple inclusions of binary modules across symlinked, substed or otherwise hidden paths. There should be a test case invoving a binary module to check for issues related to the binary module identity. This reverts commit de1dc0a.
Attempt to load the binary module disguised behind two symlinked locations. Big thanks to Michael Mifsud <xzyfer@gmail.com> for preparing a proper test case.
Member
|
-1 the direction in #6537 accurately reflects the decision made by the ctc last week to restore the pre-v6 behavior by default but to preserve the new behavior behind a runtime flag. It was decided that a full revert was not ideal. #6537 includes a revised version of your test case that passes under the default behavior without using the run time flag. |
Author
Contributor
|
Is this still relevant now that 5d38d54 has landed? |
Member
|
No, it can be closed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After much discussion, it seems that the change broke the way require
detects unique identity of the binary modules. While resolving module's
full path is not sufficient and maybe even not elegant (like anything that
requires the use of realpath() except for certain security scenarios), we
cannot break multiple inclusions of binary modules across symlinked,
substed or otherwise hidden paths.
Add a test case for the binary module loaded twice.
This reverts commit de1dc0a.